home *** CD-ROM | disk | FTP | other *** search
-
-
-
- lllliiiibbbbtttt6666((((3333NNNN)))) lllliiiibbbbtttt6666((((3333NNNN))))
-
-
-
- NNNNAAAAMMMMEEEE
- libt6 - TSIX trusted IPC library (part of libc in Trusted IRIX)
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////tttt6666aaaattttttttrrrrssss....hhhh>>>>
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- lllliiiibbbbtttt6666 constitutes the TSIX Application Program Interface (API). It is a
- library of routines that an application uses to control attribute
- transport during trusted interprocess communication. In Trusted IRIX, the
- functions defined by TSIG for _llll_iiii_bbbb_tttt_6666 have been incorporated into _llll_iiii_bbbb_cccc.
- The routines in the library are recommended over the underlying system
- call interfaces for portability because they shield the application from
- operating system, communication protocol, and IPC mechanism specifics.
-
- The lllliiiibbbbtttt6666 routines provide interfaces through which the trusted
- application:
-
- +o Specifies the security attributes used to label outgoing IPC messages
- (_o_n-_m_e_s_s_a_g_e _a_t_t_r_i_b_u_t_e_s ) and reads the on-message attributes associated
- with a received message.
-
- +o Controls the security options of the endpoint used to perform trusted
- IPC.
-
- SSSSEEEECCCCUUUURRRRIIIITTTTYYYY AAAATTTTTTTTRRRRIIIIBBBBUUUUTTTTEEEESSSS
- At the application level, trusted IPC can be described as a series of
- messages passed between peer processes. Within the trusted kernel the
- attribute transport service labels each IPC message with the security
- attributes associated with the sending process to protect sensitive
- information in the message and to propagate security-related information
- between communicating Trusted Computing Bases (TCBs). The security
- attributes associated with the sending process are called on-message
- attributes because they are independent of the contents of the message.
- The TCBs decide what to do with the message based on the on-message
- attributes. The security attributes associated with a process, and
- therefore those that are used to label IPC messages, vary with the
- configuration of the system but must be a subset of the following
- attributes:
-
- Clearance
-
- Sensitivity label
-
- Information label (not supported by Trusted IRIX)
-
- Integrity Label
-
- Nationality Caveats
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- lllliiiibbbbtttt6666((((3333NNNN)))) lllliiiibbbbtttt6666((((3333NNNN))))
-
-
-
- Effective Privileges
-
- Login User ID
-
- Additional Audit Information
-
- Network Session ID
-
- Discretionary IDs (user ID, group ID, and supplementary groups)
-
- Process ID
-
- NOTE: Some of these attributes imply component security policies that may
- not be available on some systems.
-
- The TSIX program interface allows trusted applications to change the on-
- message attributes associated with an outgoing message and retrieve the
- on-message attributes associated with an incoming message.
-
- OOOONNNN----MMMMEEEESSSSSSSSAAAAGGGGEEEE AAAATTTTTTTTRRRRIIIIBBBBUUUUTTTTEEEE RRRROOOOUUUUTTTTIIIINNNNEEEESSSS
- The on-message attribute routines affect the security attributes
- associated with outgoing messages or retrieve attributes associated with
- incoming messages. The caller specifies attributes to these routines
- through a _t_6_a_t_t_r__t control structure (defined in <_s_y_s/_t_6_a_t_t_r_s._h>, an
- opaque structure used to access sets of security attributes. The caller
- specifies the attributes applied to outbound messages or retrieved from
- incoming messages through TSIX routines. Specified attributes are copied
- from or written to the buffers accessible through the control structure.
- Any attributes not designated by the sender are supplied for outgoing
- messages by the underlying trusted kernel. The routines that send and
- retrieve on-message attributes operate on sockets or streams, generically
- referred to as endpoints.
-
- _t_6_a_l_l_o_c__b_l_k(3N) Allocates a _t_6_a_t_t_r__t control structure and storage
- for the specified set of security attributes.
-
- _t_6_c_l_e_a_r__b_l_k(3N) Marks specified attributes in the control block as
- invalid.
-
- _t_6_c_m_p__b_l_k(3N) Compares two attribute blocks for equality.
-
- _t_6_c_o_p_y__b_l_k(3N) Copies a _t_6_a_t_t_r__t control structure and the
- security attributes to which it points into a
- second, previously allocated _t_6_a_t_t_r__t structure and
- its previously allocated buffers.
-
- _t_6_d_u_p__b_l_k(3N) Given one attribute control structure, this routine
- allocates enough storage to hold a duplicate
- control structure and all attributes it references,
- and creates a duplicate.
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- lllliiiibbbbtttt6666((((3333NNNN)))) lllliiiibbbbtttt6666((((3333NNNN))))
-
-
-
- _t_6_f_r_e_e__b_l_k(3N) Frees attribute control structure and buffers.
- This interface should be used in conjunction with
- _t_6_a_l_l_o_c__b_l_k(3N), which allocates the space.
-
- _t_6_a_t_t_r__a_l_l_o_c(3N) Allocates space for the _t_6_a_t_t_r__t control structure
- with security attributes set.
-
- _t_6_c_m_p__a_t_t_r(3N) Compares the two sets of attributes.
-
- _t_6_c_o_p_y__a_t_t_r(3N) Copies a _t_6_a_t_t_r__t control structure and the
- security attributes to which it points into a
- second, previously allocated _t_6_a_t_t_r__t structure and
- its previously allocated buffers.
-
- _t_6_c_r_e_a_t_e__a_t_t_r(3N) Allocates a _t_6_a_t_t_r__t control structure and storage
- for the specified set of security attributes.
-
- _t_6_d_u_p__a_t_t_r(3N) Given one attribute control structure, this routine
- allocates enough storage to hold a duplicate
- control structure and all attributes it references,
- and creates a duplicate.
-
- _t_6_f_r_e_e__a_t_t_r(3N) Frees attribute control structure and buffers.
- This interface should be used in conjunction with
- _t_6_c_r_e_a_t_e__a_t_t_r(3N), which allocates the space.
-
- _t_6_s_i_z_e__a_t_t_r(3N) Gets the size of an attribute from the control
- structure.
-
- _t_6_g_e_t__a_t_t_r(3N) Gets an attribute handled by the control structure.
-
- _t_6_s_e_t__a_t_t_r(3N) Sets an attribute handled by the control structure.
-
- _t_6_s_e_n_d_t_o(3N) Sends data and a specified set of security
- attributes on a endpoint.
-
- _t_6_r_e_c_v_f_r_o_m(3N) Reads a network message and retrieves the security
- attributes associated with the data.
-
- _t_6_p_e_e_k__a_t_t_r(3N) Peeks ahead and returns the attributes associated
- with the next byte of data.
-
- _t_6_l_a_s_t__a_t_t_r(3N) Returns the security attributes associated with the
- last byte of data read from the network endpoint.
-
- _t_6_g_e_t__e_n_d_p_t__m_a_s_k(3N) Gets the endpoint mask.
-
- _t_6_s_e_t__e_n_d_p_t__m_a_s_k(3N) Sets the endpoint mask.
-
- _t_6_g_e_t__e_n_d_p_t__d_e_f_a_u_l_t(3N)
- Gets the endpoint default security attributes.
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- lllliiiibbbbtttt6666((((3333NNNN)))) lllliiiibbbbtttt6666((((3333NNNN))))
-
-
-
- _t_6_s_e_t__e_n_d_p_t__d_e_f_a_u_l_t(3N)
- Sets the endpoint default security attributes.
-
- NNNNEEEETTTTWWWWOOOORRRRKKKK EEEENNNNDDDDPPPPOOOOIIIINNNNTTTT SSSSEEEECCCCUUUURRRRIIIITTTTYYYY OOOOPPPPTTTTIIIIOOOONNNNSSSS
- A trusted application can manipulate a number of security options
- associated with the network endpoint via the following calls:
-
- _t_6_m_l_s__s_o_c_k_e_t(3N) Turns on or off security policy with regard to a
- network endpoint.
-
- _t_6_e_x_t__a_t_t_r(3N) Turns on or off the security extensions to the
- network endpoint. This must be called before using
- any other lllliiiibbbbtttt6666 routines.
-
- _t_6_n_e_w__a_t_t_r(3N) Specifies to the network endpoint that the
- receiving process is only interested in receiving
- attributes if they have changed since the last time
- it received them. This saves the overhead created
- by passing attributes unnecessarily with each
- message.
-
- MMMMaaaaxxxxSSSSIIIIXXXX RRRREEEEMMMMOOOOTTTTEEEE HHHHOOOOSSSSTTTT DDDDAAAATTTTAAAABBBBAAAASSSSEEEE SSSSEEEECCCCUUUURRRRIIIITTTTYYYY OOOOPPPPTTTTIIIIOOOONNNNSSSS
- A trusted application can manipulate the _M_S_I_X_R_H_D_B via the following
- calls:
-
- _t_6_r_h_d_b__f_l_u_s_h(3N) Remove an entry from the _R_H_D_B.
-
- _t_6_r_h_d_b__g_e_t__h_o_s_t(3N) Query the for an entry.
-
- _t_6_r_h_d_b__p_u_t__h_o_s_t(3N) Write and entry to the
-
- _t_6_r_h_d_b__s_t_a_t(3N) Retrives information on the RHDB.
-
- IIIINNNNCCCCLLLLUUUUDDDDEEEE FFFFIIIILLLLEEEESSSS
- Any programs that use routines in this library must include the header
- files containing declarations pertinent to the routine. The synopsis
- section of each manual page indicates the required header files. Most
- routines in the library contain references to declarations defined in
- <_s_y_s/_t_6_a_t_t_r_s._h>. This file defines constants for attribute types to be
- used by various TSIX attribute library access functions, as well as
- constants used as parameters to the library functions.
-
- SSSSOOOOUUUURRRRCCCCEEEE
- Trusted Systems Interoperability Group
-
- NNNNOOOOTTTTEEEESSSS
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
-